USB is a standardized serial bus interface for connecting a host device such as a personal computer to a peripheral devise such as a mouse and a keyboard. At present, USB is mounted in almost all personal computers and these can be connected to any peripheral device having a USB terminal.
The USB standard uses a master-servant protocol. Devices communicating through a USB connection have a master-servant relationship, where ‘host’ devices are masters and ‘client’ devices are servants. A host device can only exchange data with a client device and vice-versa. Besides a data line, the USB standard also features a power supply line called a ‘VBUS line’. Via the VBUS line, the host supplies power to the client.
It is impossible to directly connect one client device with another client through a USB connection. In order to send data to a USB client, it is necessary that the sending device be either a USB host or a USB OTG device. An OTG device can operate as a host or a client. A device operating as a USB host requires substantially more energy and processing power relative to a USB client. It is also expensive and time consuming to develop and integrate a USB host capacity into a device. This is especially true when only a small amount of data needs to be transferred.
For some applications, where only a few bits of data need to be transferred between two USB client devices, it does not make sense to incorporate a USB host capacity into a sending device.